Per l’utilizzo della shell Bash si rimanda alla relativa guida.
Per l’utilizzo di altre shell si raccomanda di consultare i manuali dei singoli progetti.
Concetti generali.
In informatica si usa il termine generico di shell per indicare una qualunque interfaccia che permette all’utente di interagire con il sistema. Possono quindi essere individuate due macro-categorie di shell, ossia:
shell a riga di comando
shell grafiche (come ad esempio i vari ambienti desktop)
Tuttavia, nell’uso comune, è più frequente utilizzare il termine shell per indicare soltanto la prima categoria. Sarà pertanto questa l’accezione a cui si farà riferimento in questa guida.
La shell si può quindi definire come il programma che fornisce l’interfaccia testuale per il sistema operativo. La sua funzione principale è di leggere i comandi opportunamente inseriti nella console e di eseguirli.
Ubuntu utilizza di default la shell Bash, che è quindi in funzione ogni qual volta si utilizzi la riga di comando.
Pur essendo Bash uno strumento valido, completo e versatile, in alcuni casi potrebbe essere utile l’uso di altre shell. Infatti alcune di queste dispongono di caratteristiche e/o features avanzate, che talvolta possono risultare più funzionali a seconda del lavoro o dei compiti da svolgere: maggiore responsività, informazioni su file e directory, personalizzazioni estetiche, integrazione con alcuni linguaggi di programmazione ecc.
Installazione shell più comuni.
Vengono riportate di seguito alcune delle shell più utilizzate nei sistemi Unix o derivati.
Ove necessario, è indicato il relativo pacchetto necessario all’installazione.
Nome |
Breve descrizione |
Pacchetto |
Bourne (sh) |
È la shell storica dei sistemi UNIX. Garantisce la compatibilità con gli standard POSIX. |
– |
Korn (ksh o ksh88/ksh93) |
È una shell sviluppata in passato dalla AT&T, retrocompatibile con Bourne. È la shell di default di OpenBSD. |
|
Bash (bash) |
Acronimo di «Bourne Again SHell», è nata come versione avanzata e retrocompatibile di Bourne. Viene utilizzata dalle maggiori distribuzioni GNU/Linux, rappresentandone de factouno standard. È inoltre la shell utilizzata da macOS |
preinstallata |
Debian Almquist Shell (dash) |
Nata originariamente come porting della shell ash di NetBSD, è stata quindi adattata agli standard Debian e rinominata nella forma attuale. È presente in Debian e derivate. |
preinstallata |
Z-Shell (zsh) |
Integra molte funzionalità, anche avanzate, mutuate da altre shell (autocompletamento, controllo ortografico, manipolazione avanzata di variabili e array, retrocompatibilità, temi ecc.). È la shell predefinita di Arch Linux. |
|
C-Shell (csh) |
Creata da sh, utilizza una sintassi modellata dal linguaggio C. |
|
TC-Shell (tcsh) |
Basata su csh e da essa derivata, è presente in FreeBSD e in vecchie versioni di macOS. |
|
Friendly Interactive shell(fish) |
Nata con l’intento di essere user friendly, si presenta con molte funzionalità pre-abilitate di default, mutuate da altre shell. |
Numerose altre shell possono essere installate sia dai repository ufficiali (es.: rc, yash, mksh ecc.) sia da sorgenti esterne di terze parti (ad esempio Windows PowerShell).
Individuare shell in uso
Digitare nel terminale:
echo $0
Verrà restituito il nome della shell in uso, ad esempio:
bash
Per conoscere anche il percorso digitare:
echo $SHELL
Verrà restituito un output simile al seguente:
/bin/bash